package com.rockcent.mall.lib.domain;

import com.rockcent.common.domain.IDEntityMall;
import com.rockcent.common.domain.enumclass.Whether;
import com.rockcent.mall.lib.domain.enumclass.CouponType;
import org.hibernate.annotations.DynamicInsert;
import org.hibernate.annotations.DynamicUpdate;

import javax.persistence.*;

/**
 * Created by zhangjh on 2016/11/21.
 */
@Entity
@Table(name = "red_packet_item")
@DynamicInsert
@DynamicUpdate
public class RedPacketItem extends IDEntityMall {
    @Column(columnDefinition = "varchar(255) comment '卡券失效时间'")
    private String couponDateDisabled;
    @Column(columnDefinition = "varchar(255) comment '卡券面值'")
    private String couponFaceValue;
    @Column(columnDefinition = "varchar(255) comment '卡券名称'")
    private String couponName;
    @Column(columnDefinition = "int(11) comment '卡券发放数量'")
    private Integer couponQuantity;
    @Column(columnDefinition = "varchar(255) comment '类型 VOUCHERS(\"抵用券\"), DISCOUNT(\"折扣券\")'")
    @Enumerated(EnumType.STRING)
    private CouponType couponType;
    @Column(columnDefinition = "varchar(255) comment '唯一识别码'")
    private String identifier;
    @Column(columnDefinition = "varchar(255) comment '是否分享返利'")
    private String isShareReward;
    @Column(columnDefinition = "varchar(255) comment 'LOGO'")
    private String logo;
    @Column(columnDefinition = "bigint(20) comment '隶属商家ID'")
    private Long merchantId;
    @Column(columnDefinition = "varchar(255) comment '隶属商家名称'")
    private String merchantName;
    @Column(columnDefinition = "int(11) comment '放入数量'")
    private Integer num;
    @Column(columnDefinition = "varchar(255) comment '隶属红包'")
    private String redPacketId;
    @Column(columnDefinition = "varchar(255) comment '备注'")
    private String remark;
    @Column(columnDefinition = "varchar(255) comment '卡券享受折扣(折扣券)'")
    private String couponDiscount;
    @Column(columnDefinition = "varchar(255) comment '最低消费金额'")
    private String couponLimitAmount;

    public String getCouponDateDisabled() {
        return couponDateDisabled;
    }

    public void setCouponDateDisabled(String couponDateDisabled) {
        this.couponDateDisabled = couponDateDisabled;
    }

    public String getCouponFaceValue() {
        return couponFaceValue;
    }

    public void setCouponFaceValue(String couponFaceValue) {
        this.couponFaceValue = couponFaceValue;
    }

    public String getCouponName() {
        return couponName;
    }

    public void setCouponName(String couponName) {
        this.couponName = couponName;
    }

    public Integer getCouponQuantity() {
        return couponQuantity;
    }

    public void setCouponQuantity(Integer couponQuantity) {
        this.couponQuantity = couponQuantity;
    }

    public CouponType getCouponType() {
        return couponType;
    }

    public void setCouponType(CouponType couponType) {
        this.couponType = couponType;
    }

    public String getIdentifier() {
        return identifier;
    }

    public void setIdentifier(String identifier) {
        this.identifier = identifier;
    }

    public String getIsShareReward() {
        return isShareReward;
    }

    public void setIsShareReward(String isShareReward) {
        this.isShareReward = isShareReward;
    }

    public String getLogo() {
        return logo;
    }

    public void setLogo(String logo) {
        this.logo = logo;
    }

    public Long getMerchantId() {
        return merchantId;
    }

    public void setMerchantId(Long merchantId) {
        this.merchantId = merchantId;
    }

    public String getMerchantName() {
        return merchantName;
    }

    public void setMerchantName(String merchantName) {
        this.merchantName = merchantName;
    }

    public Integer getNum() {
        return num;
    }

    public void setNum(Integer num) {
        this.num = num;
    }

    public String getRedPacketId() {
        return redPacketId;
    }

    public void setRedPacketId(String redPacketId) {
        this.redPacketId = redPacketId;
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark;
    }

    public String getCouponDiscount() {
        return couponDiscount;
    }

    public void setCouponDiscount(String couponDiscount) {
        this.couponDiscount = couponDiscount;
    }

    public String getCouponLimitAmount() {
        return couponLimitAmount;
    }

    public void setCouponLimitAmount(String couponLimitAmount) {
        this.couponLimitAmount = couponLimitAmount;
    }

    @Override
    public String toString() {
        return "RedPacketItem{" +
                "couponDateDisabled='" + couponDateDisabled + '\'' +
                ", id=" + id +
                ", couponFaceValue='" + couponFaceValue + '\'' +
                ", dateCreated=" + dateCreated +
                ", couponName='" + couponName + '\'' +
                ", couponQuantity=" + couponQuantity +
                ", lastUpdated=" + lastUpdated +
                ", couponType=" + couponType +
                ", isDelete=" + isDelete +
                ", version=" + version +
                ", identifier='" + identifier + '\'' +
                ", isShareReward='" + isShareReward + '\'' +
                ", logo='" + logo + '\'' +
                ", merchantId=" + merchantId +
                ", merchantName='" + merchantName + '\'' +
                ", num=" + num +
                ", redPacketId='" + redPacketId + '\'' +
                ", remark='" + remark + '\'' +
                ", couponDiscount='" + couponDiscount + '\'' +
                ", couponLimitAmount='" + couponLimitAmount + '\'' +
                '}';
    }
}
